@echo off
chcp 65001 >nul
echo ====================================
echo  初始化数据库（使用完整路径）
echo ====================================
echo.

cd backend

echo [1/5] 检查 .env 配置文件...
if not exist .env (
    echo ✗ 未找到 .env 文件，正在从 env.example 复制...
    copy env.example .env
    echo.
    echo ⚠️ 请编辑 backend\.env 文件
    echo ⚠️ 修改 DB_PASSWORD=你的PostgreSQL密码
    echo.
    pause
    exit
)
echo ✓ 配置文件已存在

echo.
echo [2/5] 查找 PostgreSQL 安装路径...
set PSQL_PATH=

if exist "C:\Program Files\PostgreSQL\18\bin\psql.exe" (
    set PSQL_PATH=C:\Program Files\PostgreSQL\18\bin\psql.exe
    echo ✓ 找到 PostgreSQL 18
) else if exist "C:\Program Files\PostgreSQL\17\bin\psql.exe" (
    set PSQL_PATH=C:\Program Files\PostgreSQL\17\bin\psql.exe
    echo ✓ 找到 PostgreSQL 17
) else if exist "C:\Program Files\PostgreSQL\16\bin\psql.exe" (
    set PSQL_PATH=C:\Program Files\PostgreSQL\16\bin\psql.exe
    echo ✓ 找到 PostgreSQL 16
) else if exist "C:\Program Files\PostgreSQL\15\bin\psql.exe" (
    set PSQL_PATH=C:\Program Files\PostgreSQL\15\bin\psql.exe
    echo ✓ 找到 PostgreSQL 15
) else if exist "C:\Program Files\PostgreSQL\14\bin\psql.exe" (
    set PSQL_PATH=C:\Program Files\PostgreSQL\14\bin\psql.exe
    echo ✓ 找到 PostgreSQL 14
) else if exist "C:\Program Files\PostgreSQL\13\bin\psql.exe" (
    set PSQL_PATH=C:\Program Files\PostgreSQL\13\bin\psql.exe
    echo ✓ 找到 PostgreSQL 13
) else (
    echo ✗ 未找到 PostgreSQL 安装
    echo 请手动确认安装路径
    pause
    exit /b 1
)

echo 使用路径: %PSQL_PATH%

echo.
echo [3/5] 创建数据库...
echo ➜ 请输入 PostgreSQL 密码
"%PSQL_PATH%" -U postgres -c "CREATE DATABASE originpoint_engine;" 2>nul
if errorlevel 1 (
    echo   数据库可能已存在（这是正常的）
) else (
    echo ✓ 数据库创建成功
)

echo.
echo [4/5] 运行数据库迁移...
go run cmd/migrate/main.go
if errorlevel 1 (
    echo ✗ 数据库迁移失败
    echo 请检查 .env 中的数据库配置
    pause
    exit /b 1
)
echo ✓ 数据库迁移完成

echo.
echo [5/5] 初始化管理员账号...
echo ➜ 默认账号: admin@example.com
echo ➜ 默认密码: admin123
echo.
go run cmd/init-admin/main.go
if errorlevel 1 (
    echo   管理员账号可能已存在（这是正常的）
) else (
    echo ✓ 管理员账号创建成功
)

echo.
echo ====================================
echo ✓ 数据库初始化完成！
echo ====================================
echo.
echo 下一步: 运行 start-all.bat 启动服务
echo.
pause

